package cn.csc.module.distribute.convert.order;

import java.util.*;

import cn.csc.framework.common.pojo.PageResult;

import cn.csc.module.distribute.api.order.dto.DistributeOrderDTO;
import cn.csc.module.distribute.controller.app.order.vo.AppDistributeOrderItemRespVO;
import cn.csc.module.distribute.controller.app.order.vo.AppDistributeOrderRespVO;
import cn.csc.module.order.api.item.dto.OrderItemRespDTO;
import cn.csc.module.order.message.OrderSubmitMessage;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.csc.module.distribute.controller.admin.order.vo.*;
import cn.csc.module.distribute.dal.dataobject.order.DistributeOrderDO;

/**
 * 分销订单记录 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface DistributeOrderConvert {

    DistributeOrderConvert INSTANCE = Mappers.getMapper(DistributeOrderConvert.class);

    DistributeOrderDO convert(DistributeOrderCreateReqVO bean);

    DistributeOrderDO convert(DistributeOrderUpdateReqVO bean);

    DistributeOrderRespVO convert(DistributeOrderDO bean);

    List<DistributeOrderRespVO> convertList(List<DistributeOrderDO> list);

    PageResult<DistributeOrderRespVO> convertPage(PageResult<DistributeOrderDO> page);

    List<DistributeOrderExcelVO> convertList02(List<DistributeOrderDO> list);

    List<AppDistributeOrderItemRespVO> convertList03(List<DistributeOrderDO> list);

    List<AppDistributeOrderItemRespVO> convertList04(List<OrderItemRespDTO> list);

    AppDistributeOrderItemRespVO convert01(OrderItemRespDTO bean);

    List<DistributeOrderDO> convertList05(List<DistributeOrderDTO> list);

    List<DistributeOrderDTO> convertList06(List<OrderSubmitMessage> list);

    List<AppDistributeOrderRespVO> convertList07(List<OrderItemRespDTO> list);
    List<DistributeOrderExcelVO> convertList08(List<AppDistributeOrderRespVO> list);


}
